| Identifier.use | Identifier | IdUsageType | The identifier information for a health condition is represented as Identifier records that reference the health condition record using their Identifier.ParentRecordId field. |
| Identifier.system | Identifier | SourceSystem | |
| Identifier.value | Identifier | IdValue | |
| Identifier.type.coding.code | Identifier | IDTypeId | |
| basedOn | CareObservation | BasedOnId | While FHIR defines observation.basedOn as a zero-to-many reference, the Salesforce implementation is a zero-to-one text field |
| partOf | CareObservation | PartOfId | While FHIR defines observation.partOf as a zero-to-many reference, the Salesforce implementation is a zero-to-one text field |
| category.coding.code | CareObservation | Category | While FHIR defines observation.category as a zero-to-many reference to code set bundle, the Salesforce implementation is a zero-to-one picklist. |
| status | CareObservation | ObservationStatus | While FHIR defines observation.status as a reference to code set bundle, the Salesforce implementation is a picklist. |
| code.coding.code | CareObservation | CodeId | While FHIR defines observation.code as a one-to-one reference to code set bundle, Salesforce implements this as three separate CodeSet reference fields |
| subject | CareObservation | ObservedSubjectId | The Salesforce implementation of observation.subject supports references to only patients. |
| encounter | CareObservation | EncounterId | |
| effective.effectiveDateTime | CareObservation | EffectiveDateTime | |
| effectivePeriod.start | CareObservation | EffectiveDateTime | Because Salesforce doesn’t support a native period data type, the observation.effective.effectivePeriod field is flattened into a set of effective date and end date fields. |
| effectivePeriod.end | CareObservation | EndDateTime | |
| issued | CareObservation | IssuedDateTime | Because Salesforce doesn’t support a native instant data type, the observation. issued FHIR resource is implemented as a date time field in Salesforce. |
| performer | CareObservation | ObserverId | While FHIR defines observation.performer as a zero-to-many resource, the Salesforce implementation is a zero-to-one reference to Account and Healthcare Provider. |
| resultsInterpreter | CareObservation | InterpretedById | While FHIR defines observation.resultsInterpreter as a zero-to-many resource, the Salesforce implementation is a zero-to-one reference to CarePerformer. |
| valueQuantity.value | CareObservation | ObservedValueType | A Salesforce-original field that determines whether the value stored in CareObservation.ObservedValueNumerator and CareObservation.ObservedValueDenominator is a range, ratio, or quantity. This field is used only when the data entered for observation.value is one these data types. |
| valuePeriod.start | CareObservation | ObservationStartTime | CareObservation.ObservationStartTime is used for both observation.component.value.valueDateTime and observation.component.value.valuePeriod. Because Salesforce doesn’t support a native period data type, the observation.value.valuePeriod FHIR resource is flattened to a set of start and end dates. |
| valuePeriod.end | CareObservation | ObservationEndTime | |
| valueCodeableConcept.coding.code | CareObservation | ObservedValueCodeId | |
| valueRatio.numerator.value | CareObservation | ObservedValueNumerator | Because Salesforce doesn’t support native range, ratio, and quantity data types, the observation.value FHIR resource is flattened to a set of numerator, denominator, and unit fields for this type of data. |
| valueRatio.denominator.value | CareObservation | ObservedValueDenominator | |
| valueBoolean | CareObservation | IsOutcomePositive | CareObservation.IsObserved is a duplicate field that can store the same information. Use only one of these two fields. |
| valueString | CareObservation | ObservedValueText | |
| interpretation.coding.code | CareObservation | ValueInterpretation | While FHIR defines observation.interpretation as a zero-to-many code set bundle, the Salesforce implementation is a zero-to-one picklist. |
| bodySite.coding.code | CareObservation | BodySiteId | |
| method.coding.code | CareObservation | MethodId | |
| device | CareObservation | DeviceId | References to device metrics records aren’t supported. |
| referenceRange.low.value | CareObservation | LowerBaselineValue | Because Salesforce doesn’t support a native quantity data type, the observation.referenceRange.low FHIR resource is flattened to a set of value and unit fields for this type of data. |
| referenceRange.low.unit | CareObservation | BaselineUnitId | |
| referenceRange.high.value | CareObservation | UpperBaselineValue | Because Salesforce doesn’t support a native quantity data type, the observation.referenceRange.high FHIR resource is flattened to a set of value and unit fields for this type of data. |
| referenceRange.text | CareObservation | BaselineValueText | |
| hasMember | CareObservation | RelatedObservationId | While FHIR defines observation.hasMember as a zero-to-many resource, the Salesforce implementation is zero-to-one. Only references to observation records are supported. |
| component.code.coding.code | ObservationComponent | ComponentTypeCodeId | |
| component.valueQuantity.value | ObservationComponent | ValueType | A Salesforce-original field that determines whether the value stored in CareObservationComponent.ObservedValueNumerator and CareObservationComponent.ObservedValueDenominator is a range, ratio, or quantity. This field is used only when the data entered for observation.component.value is one these data types. |
| component.valueQuantity.unit | ObservationComponent | ObservedValueUnitId | |
| component.valuePeriod.start | ObservationComponent | ObservationStartTime | CareObservationComponent.ObservationStartTime is used for both observation.component.value.valueDateTime and observation.component.value.valuePeriod. Because Salesforce doesn’t support a native period data type, the observation.component.value.valuePeriod FHIR resource is flattened to a set of start and end dates. |
| component.valuePeriod.end | ObservationComponent | ObservationEndTime | |
| component.valueCodeableConcept.coding.code | ObservationComponent | ObservedValueCodeId | |
| component.valueRatio.numerator.value | ObservationComponent | ObservedValueNumerator | Because Salesforce doesn’t support native range, ratio, and quantity data types, the observation.component.value FHIR resource is flattened to a set of numerator, denominator, and unit fields for this type of data. The Salesforce implementation of observation.component.value doesn’t support observation.component.value.valueSampleData and observation.component.value.valueTime. |
| component.valueRatio.denominator.value | ObservationComponent | ObservedValueDenominator | |
| component.valueBoolean | ObservationComponent | IsObserved | |
| component.valueString | ObservationComponent | ObservedValueText | |
| component.dataAbsentReason | ObservationComponent | MissingDataReason | While FHIR defines observation.component.dataAbsentReason as a code set bundle reference, the Salesforce implementation is a text field. |
| component.interpretation.coding.code | ObservationComponent | ValueInterpretation | While FHIR defines observation.component.interpretation as a code set bundle reference, the Salesforce implementation is a picklist. |
| component.referenceRange.low.value | ObservationComponent | LowerBaselineValue | |
| component.referenceRange.low.unit | ObservationComponent | BaselineUnitId | |
| component.referenceRange.high.value | ObservationComponent | UpperBaselineValue | |
| component.referenceRange.text | ObservationComponent | BaselineValueText | |